package com.example.mall_system.entity;

import java.math.BigDecimal;
import java.util.Date;

public class Order {
    private Long id;
    private String orderNumber;
    private Long userId;
    private BigDecimal totalPrice;
    private Integer status; // 0:待支付, 1:已支付, 2:已发货, 3:已完成, 4:已取消
    private Integer paymentMethod; // 0:支付宝, 1:微信
    private Long addressId;
    private Date createTime;
    private Date updateTime;
    private String paymentTime;
    private String shippingTime;
    private String completionTime;
    private String cancellationTime;
    private String cancelReason; // 新增：取消原因

    // Getters and Setters
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getOrderNumber() { return orderNumber; }
    public void setOrderNumber(String orderNumber) { this.orderNumber = orderNumber; }
    public Long getUserId() { return userId; }
    public void setUserId(Long userId) { this.userId = userId; }
    public BigDecimal getTotalPrice() { return totalPrice; }
    public void setTotalPrice(BigDecimal totalPrice) { this.totalPrice = totalPrice; }
    public Integer getStatus() { return status; }
    public void setStatus(Integer status) { this.status = status; }
    public Integer getPaymentMethod() { return paymentMethod; }
    public void setPaymentMethod(Integer paymentMethod) { this.paymentMethod = paymentMethod; }
    public Long getAddressId() { return addressId; }
    public void setAddressId(Long addressId) { this.addressId = addressId; }
    public Date getCreateTime() { return createTime; }
    public void setCreateTime(Date createTime) { this.createTime = createTime; }
    public Date getUpdateTime() { return updateTime; }
    public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; }
    public String getPaymentTime() { return paymentTime; }
    public void setPaymentTime(String paymentTime) { this.paymentTime = paymentTime; }
    public String getShippingTime() { return shippingTime; }
    public void setShippingTime(String shippingTime) { this.shippingTime = shippingTime; }
    public String getCompletionTime() { return completionTime; }
    public void setCompletionTime(String completionTime) { this.completionTime = completionTime; }
    public String getCancellationTime() { return cancellationTime; }
    public void setCancellationTime(String cancellationTime) { this.cancellationTime = cancellationTime; }
    public String getCancelReason() { return cancelReason; }
    public void setCancelReason(String cancelReason) { this.cancelReason = cancelReason; }
}